home *** CD-ROM | disk | FTP | other *** search
/ Now That's What I Call Games 1 / Now That's What I Call Games (1993)(Multi Media Machine)[!][CD32-CDTV].iso / shareware / chess / amiga.doc next >
Text File  |  1993-04-22  |  10KB  |  254 lines

  1. short: Amiga port with nice graphics (needs 2.0)
  2.  
  3. Amiga GnuChess Version 1.0
  4. --------------------------
  5. Amiga-related portions Copyright (c) 1992 Martin W. Scott.
  6. All other code Copyright (c) 1986-92 Free Software Foundation.
  7. This program is governed by the terms and conditions of the GNU Public
  8. License. A copy should have come with this distribution. In that license,
  9. it is made clear that this program comes with absolutely no warranty.
  10.  
  11. Okay, that's the legal/copyright guff over. This is a port of GNU Chess to
  12. the Amiga.  It contains a nice graphical user interface (menus, use mouse
  13. to move pieces etc.) along the same lines as that done for another chess
  14. program on Fish disk 205.  The advantages of this program over that one are
  15. that GNU Chess is a much stronger chess-playing program, and that the GUI
  16. of this program was designed with Workbench 2.0(+) in mind.  Another
  17. advantage is that the older chess program crashes on my system (chais pas
  18. pourquoi) but Amiga GnuChess doesn't.  From now on, I shall refer to Amiga
  19. GnuChess simply as AGC.
  20.  
  21.  
  22. Starting AGC
  23. ------------
  24. Firstly, AGC needs a few files in order to work. These should be located in
  25. the misc/ directory of where the program was started. You will need at
  26. least 1 megabytes of memory to run AGC.
  27.  
  28. You may start AGC from the Workbench or CLI. A stack of 20000 should be
  29. more than sufficient for AGC. When started, a screen will be opened, and
  30. after a short delay, you will be presented with a menu from which to choose
  31. a playing level. Which level you choose depends on how fast your machine is
  32. and how good you are.
  33.  
  34.  
  35. Playing a move
  36. --------------
  37. Once the level is selected, the chessboard will be drawn on the screen. AGC
  38. will then read in the openings library if available, and prompt you to
  39. move.  You may type the move in explicit algebraic notation (e.g. e2e4) or
  40. abbreviated notation (e.g. e4, Nf3, cd), or if you are smart, use the mouse.
  41. When typing in moves in abbreviated notation, piece-letters must be entered
  42. in upper-case. This is to stop ambiguities like b5b4 == B5b4: the former
  43. says move the piece on b5 to b4, whilst the latter says move the bishop on
  44. row 5 to b4.
  45.  
  46. I have opted for a drag-approach when using the mouse; click down on the
  47. left-button over the piece you want to move, and move the mouse to the
  48. destination square, whilst holding the left-button. Then release the
  49. left-button. If the move is valid, it will be played, otherwise an error
  50. message will appear to the right of the board. To abort playing a move,
  51. either play an illegal move, or release the left-button over the piece you
  52. are moving. 
  53.  
  54. You can use the mouse for all valid moves except pawn promotion; due to the
  55. way the Amiga driver was implemented (see below) you have to type in such
  56. moves using explicit algebraic notation, specifying what to promote to,
  57. e.g. b7b8q to get a queen. I may change things to allow use of the mouse,
  58. but don't hold your breath.
  59.  
  60. Once you have made your move, AGC will think a little, then respond.
  61.  
  62.  
  63. The Menus
  64. ---------
  65. A brief overview:
  66.  
  67. Project Menu:
  68. -------------
  69.     New game:    Starts a new game. resets clocks and some options.
  70.  
  71.     Load game:    Loads a previously saved game. If you have
  72.                         reqtools.library installed on your system, a file
  73.                         requester will pop up.
  74.  
  75.     Save game:    Saves the current position for subsequent loading.
  76.                         Take a peek at a saved game-file to see what stuff
  77.                         is output. Note that no changes have been made to
  78.                         the format for the Amiga version of GNU Chess.
  79.  
  80.     Create listing:    Outputs a listing file. Not really useful unless
  81.                         debugging options have been compiled in to AGC.
  82.                         They haven't.
  83.  
  84.     Edit board:    See below.
  85.  
  86.     Help:        Brings up a help screen. Press a key to get back to
  87.                         the game.
  88.  
  89.     About:        Brings up a requester telling you a few things
  90.                         about AGC.
  91.  
  92.     Quit:        Exit AGC.
  93.  
  94. Settings Menu:
  95. --------------
  96.  
  97.     Select Level:    Brings up the playing-level menu you saw when you
  98.                         started AGC.
  99.  
  100.     Change colors:    Brings up a palette requester, only if you have
  101.                         reqtools.library installed.
  102.  
  103.     Save colors:     Save your color preferences to GNUCHESSDIR (or the
  104.                         default directory).
  105.  
  106. Toggles Menu:
  107. -------------
  108.  
  109.     Reverse board:    Changes orientation of chessboard.
  110.  
  111.     Coordinates:    Draw coordinates around chessboard.
  112.  
  113.     Show thinking:    Shows best line found, plus number of positions
  114.                         (nodes) looked at, and a nodes/second count.
  115.  
  116.     Random play:    Slightly randomise the moves AGC plays.
  117.  
  118.     Beep after move: Produce an audible beep after AGC has played its
  119.                          move. 
  120.  
  121. Move Menu:
  122. ----------
  123.     Go:        Tells computer to play a move.
  124.  
  125.     Undo half-move:    Take back last move.
  126.  
  127.     Undo whole-move: Take back last move, and one before that.
  128.  
  129.     Switch sides:    Switch sides with computer.
  130.  
  131.     Input both sides: Lets you play both sides until you 'switch'.
  132.  
  133.     Redraw board:    If screen becomes garbled (can't think why) select
  134.                         this item.
  135.  
  136.     Hint:        Ask for a move suggestion. Of varying quality
  137.  
  138. NOTE: Drag-selection of menu items is not supported; this is because of the
  139. nature of the interface between GNU Chess and the Amiga driver. Sorry.
  140.  
  141. There are a few other things you can do (see the help page) but the menus
  142. cover most things. Consult other (standard GNU distribution) documents for
  143. details.
  144.  
  145.  
  146. Editing the board
  147. -----------------
  148. Sorry, but you can't use the mouse for this. A little menu appears at the
  149. side of the board. It's use is almost self explanatory. To put a piece on
  150. the board, type it's letter and the square coordinates, e.g. pd6 puts a
  151. pawn on the d6 square (its color depends on what the menu shows).
  152.  
  153.  
  154. Compiling AGC
  155. -------------
  156. I've used SAS/C 5.10a to compile AGC. While this is a fairly reliable and
  157. robust compiler, it does have problems with large UNIX applications.
  158. Version 6 may or may not overcome the difficulties outlined below, but I
  159. don't have it yet.
  160.  
  161. The main philosophy of the Amiga stuff added was that the generic GNU Chess
  162. code remain unaltered, so the Amiga routines were added to be seamless to
  163. the program. This has the advantage that future versions of GNU Chess may
  164. hopefully be adapted easily to the Amiga driver.
  165.  
  166. Changes Made
  167. ------------
  168. Firstly, transposition tables are out. When compiled in, the search routine
  169. would sometimes score a line as about 20000 (abs(score) should be < 10000),
  170. thus making it think it has found a really great move. Mostly it wont be.
  171. This is surely not a bug with GNU Chess, but with the compiler -- such a
  172. whopper would never have got out...
  173.  
  174. Secondly, Easy mode is permanently on, since SAS/C doesn't have the full
  175. complement of signals and because it would be difficult to implement with
  176. the Amiga driver. (Easy mode off means that the computer thinks while you
  177. do.)
  178.  
  179. If you are going to compile AGC yourself, don't use optimisation, since it
  180. produces incorrect code (in this program anyway). I have also compiled with
  181. no stack checking (I'm told its buggy) to speed things up a bit, so stack
  182. size should be set large enough (20K seems sufficient). 
  183.  
  184. On the subject of stack sizes, LC1 needs a biggish stack (about 30000
  185. bytes) to compile dspcom.c.
  186.  
  187. I've made very few changes to the basic GNU Chess code, and those I have
  188. made are governed by #ifdefs mostly. The original makefile has taken a bit
  189. of a hammering, though.  The amidsp.c is based on nuxdsp.c (fancy curses)
  190. of the standard distribution. I have not included that or any other files
  191. that are unnecessary to generate the Amiga version of GNU Chess. Other
  192. support stuff (for e.g. postscript printing of games) are available from
  193. the F.S.F. (and various ftp sites around the world).
  194.  
  195. All Amiga-specific routines are in a subdirectory (amiga/) in the src/
  196. directory. The graphics were made in dpaint and converted using iff2c from
  197. an old fish disk.
  198.  
  199. I decided to use reqtools.library (of which Nico François holds copyright)
  200. rather than asl.library. This is because reqtools is better, and I needed
  201. it for the palette requester anyway. AGC runs without it, but I imagine
  202. that most aware users have it installed.
  203.  
  204.  
  205. Credits
  206. -------
  207. All credits mentioned here relate only to the Amiga portions of the source.
  208. See the standard distribution files for full credits.
  209.  
  210. Firstly thanks to Steve Koren for SKsh, and Mike Meyer et. al. for Mg3. I
  211. was sorry to hear that Mike Meyer has dropped Amiga support for this
  212. program. If your reading this Mike, how about releasing whatever beta it
  213. was you had got upto before making this decision.
  214.  
  215. Thanks must also go to Nico François for reqtools.library, the authors
  216. of iff2c, Gauthier Groult and Jean Michel Forgeas, and to Jaba Development
  217. for GadToolsBox, the program used to generate the screen menus.
  218.  
  219. Of course, all the people who collaborated to make GNU Chess what it is
  220. today deserve most credit.
  221.  
  222.  
  223. Distribution + Contact
  224. ----------------------
  225. AGC is freely-redistributable, but I am a poor student and so not averse to
  226. voluntary contributions :).
  227.  
  228. Anyway, I would like to hear from you if you like AGC, and especially if
  229. you find a bug. Also, if you make any changes to AGC, I'd appreciate being
  230. kept informed if you distribute it. There should be no commercial gain for
  231. distribution of this version or others that you may make. Disk libraries
  232. and P.D. companies that charge only a nominal amount to cover costs are
  233. welcome to carry AGC on their lists. Magazines should request permission
  234. from the F.S.F. if they intend carrying AGC on a cover-disk - I'm not sure
  235. what the legalities are.
  236.  
  237. You can contact me by postal mail at:
  238.  
  239.     Martin W. Scott,
  240.     23, Drum Brae North,
  241.     Edinburgh, EH4 8AT
  242.     United Kingdom.
  243.  
  244. or by email: mws@castle.ed.ac.uk
  245. Note that I'll be making a transition to a new account in early October
  246. '92, so if any mail bounces, please try again a couple of weeks later.
  247. If it still bounces, then I've been allocated a different name, so try
  248. postal mail.
  249.  
  250. Thank you for reading and enjoy!
  251.  
  252.     Martin Scott.
  253.  
  254.